package com.healthcloud.entity.patient;

import com.healthcloud.utils.DateUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 血脂基本信息
 *
 * @author zhangjie
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class PatientBloodFatEntity implements Serializable {

    private static final long serialVersionUID = -1252671423683939882L;

    private Integer id;

    @ApiModelProperty(value = "身份证")
    private String idCard;

    @ApiModelProperty(value = "血脂分层/等级")
    private String bfGrade;

    @ApiModelProperty(value = "血脂确诊日期")
    @DateTimeFormat(pattern = DateUtils.DATE_PATTERN)
    private Date diagnosisTime;

    @ApiModelProperty(value = "症状 1:头晕头疼 2:失眠健忘 3:肢体麻木 4:胸闷/胸痛/心悸 5:心慌/气短 6:神疲乏力 7:嘴角歪斜/不能说话 8:心绞痛 9:无")
    private String symptom;

    @ApiModelProperty(value = "其它症状")
    private String otherSymptom;

    @ApiModelProperty(value = "家族史 1:高血脂 2:冠心病 3:脑卒中 4:糖尿病 5:以上都是 6:不详")
    private String familyHistory;

    @ApiModelProperty(value = "并发症 1:脑卒中 2:心肌梗死 3:心绞痛 4:间接性跛行(肢体活动后疼痛) 5:角膜弓 6:脂血症眼底改变 7:无")
    private String complication;

    @ApiModelProperty(value = "其它并发症")
    private String otherComplication;

    @ApiModelProperty(value = "自理能力 1:完全处理 2:部分处理 3:完全不能自理")
    private String selfCare;

    @ApiModelProperty(value = "并发症情况 1:冠心病 2:脑卒中 3:糖尿病 4:高血压 5:以上都是")
    private String complicationSituation;

    @ApiModelProperty(value = "用药情况")
    private String medicalMsg;

    @ApiModelProperty(value = "高脂饮食 1:经常 2:偶尔 3:从不")
    private Integer food;

    @ApiModelProperty(value = "吸烟情况 1:吸烟 2:戒烟 3:不吸")
    private Integer smoke;

    @ApiModelProperty(value = "饮酒情况 1:经常 2:偶尔 3:不饮")
    private Integer drink;

    @ApiModelProperty(value = "体育锻炼 1:规律 2:偶尔 3:不锻炼")
    private Integer sports;

    @ApiModelProperty(value = "身高")
    private String height;

    @ApiModelProperty(value = "体重")
    private String weight;

    @ApiModelProperty(value = "体脂")
    private String bmi;

    @ApiModelProperty(value = "腰围")
    private String waistline;

    @ApiModelProperty(value = "心率")
    private String pul;

    @ApiModelProperty(value = "血糖")
    private String bloodSugar;

    @ApiModelProperty(value = "高压")
    private String highPressure;

    @ApiModelProperty(value = "低压")
    private String lowPressure;

    @ApiModelProperty(value = "甘油三酯")
    private String triglyceride;

    @ApiModelProperty(value = "总胆固醇")
    private String cholesterol;

    @ApiModelProperty(value = "高密度胆固醇")
    private String highCholesterol;

    @ApiModelProperty(value = "低密度胆固醇")
    private String lowCholesterol;

    // 添加字段 by liujx 2019-08-22 diagnosis 诊断时的参数
    @ApiModelProperty(value = "诊断时的甘油三酯")
    private String diagTriglyceride;

    // 添加字段 by liujx 2019-08-22 diagnosis 诊断时的参数
    @ApiModelProperty(value = "诊断时的总胆固醇")
    private String diagCholesterol;

    // 添加字段 by liujx 2019-08-22 diagnosis 诊断时的参数
    @ApiModelProperty(value = "诊断时的高密度胆固醇")
    private String diagHighCholesterol;

    // 添加字段 by liujx 2019-08-22 diagnosis 诊断时的参数
    @ApiModelProperty(value = "诊断时的低密度胆固醇")
    private String diagLowCholesterol;

    @ApiModelProperty(value = "其它")
    private String otherIll;

    @ApiModelProperty(value = "血脂")
    private String bloodFat;

    @ApiModelProperty(value = "个体化指导建议") // 诊断时检测情况
    private String proposal;

    @ApiModelProperty(value = "一周吃肉小于75g每天 0:否 1:是")
    private Integer meat;

    @ApiModelProperty(value = "肉的种类 0:瘦肉 1:肥瘦肉 2:肥肉 3:内脏")
    private Integer meatType;

    @ApiModelProperty(value = "吃蛋数量 1:0-3个 2:4-5个 3:7个以上")
    private Integer eggs;

    @ApiModelProperty(value = "油炸食品数量 0:未吃 1:1-4次 2:5-7次 3:7次以上")
    private Integer fried;

    @ApiModelProperty(value = "奶油蛋糕数量 0:未吃 1:1-4 2:5-7")
    private Integer cream;

    @ApiModelProperty(value = "评分")
    private Integer total;

    private Date createTime;

    private Date updateTime;

}
